1. Field of the Invention
The present invention relates to a programmable logic device, and more specifically to a flip-flop having non-volatile storage.
2. Description of the Related Art
A flip-flop is a 1-bit temporary storage element which samples its input signals (provided on the terminal labeled "d") and changes its output signals (provided on the terminal labeled "q") only at times determined by an edge of a clocking signal. Thus, the output signal is in steady state at least until another predetermined edge of the clocking signal. In that sense, the flip-flop is a storage element because it "remembers" its current state until the input signal changes and the predetermined edge occurs. However, a conventional storage element can be written into at least once, read as desired, and once written doesn't change unless rewritten.
In some applications, it may be desirable for a flip-flop to provide its temporary storage function as described above, as well as a conventional storage element capability, i.e. wherein the output signal selectively takes on the state of a previously written (stored) bit irrespective of the input signal. For example, for purposes of encryption, a plurality of such flip-flops interconnected to form a register may be loaded with a secret bit pattern which must be replicated by a user of a device before the device functions properly.
It would therefore be desirable to provide a flip-flop having the additional capability for non-volatile storage which may be read at will to recall a previously written bit of information. It would also be desirable if this added capability were accomplished without requiring a substantial increase in the number of electrical components in, or associated with, the flip-flop.